The advancement and improvement of networking technologies is a perpetual goal of the communications industry. As raw speeds of large-scale and personal computing devices soar, the tremendous increase in data transmission demand continues to push the networking bandwidth envelope to capacity. Technological advances, together with the ever-increasing demand for communicating bandwidth-intensive multimedia content, continually escalate the need for higher bandwidth broadband systems.
The term “broadband” has often been used to describe high-bandwidth transmission of data signals, such as data, video, voice, video conferencing, etc. Broadband philosophies often address networking principles applicable to the backbone of the networking system, since the networking backbone generally faces the highest bandwidth demands. There are many competing technologies for delivering broadband access. For example, there are a number of standards used in digital telecommunications, including TCP/IP (Transmission Control Protocol/Internet Protocol), Ethernet, HDLC (High-level Data Link Control), ISDN (Integrated Services Digital Network), ATM (Asynchronous Transfer Mode), X.25, Frame Relay, Digital Data Service, FDDI (Fiber Distributed Data Interface), T1, xDSL (x Digital Subscriber Line), Wireless, Cable Modems, and Satellite among others.
Many of these standards employ different packet and/or frame formats. The term “frame” is often used in reference to encapsulated data at OSI layer 2, including a destination address, control bits for flow control, the data or payload, and CRC (cyclic redundancy check) data for error checking. The term “packet” is often used in reference to encapsulated data at OSI layer 3. Further, the term “cell” is often used in reference to a group of bytes/octets conditioned for transmission across a network. However, it should be understood that for purposes of the present application, the terms packet, frame, and cell may be used interchangeably to refer to groups or collections of data. Further, a packet format or frame format generally refers to how data is encapsulated with various fields and headers for transmission across the network. For example, a data packet typically includes a destination address field, a length field, an error correcting code (ECC) field or cyclic redundancy check (CRC) field, as well as headers and trailers to identify the beginning and end of the packet. The terms “packet format” and “frame format,” also referred to as “cell format,” are generally synonymous for purposes of this application.
Packets transmitted across a network are associated with a transmission protocol. A protocol is a set of rules that governs how devices on a network exchange information. Packets traversing the network may be of differing formats or protocols. Examples of typical protocols used to communicate information include the Internet Protocol (IP), which is a “best-effort,” connectionless protocol responsible for delivering data from host to host across a network such as the Internet. IP is a predominant protocol used to transmit data across the Internet.
Other protocols are used to transmit packets across the Internet as well, such as Framed ATM over SONET/SDH Transport (FAST) and IP on multiprotocol label switching (MPLS). FAST is a new protocol intended to improve the performance of asynchronous transfer mode (ATM). FAST introduces a variable length user data field, while preserving the proven advantages of ATM, such as real quality of service guarantees, the security and traffic isolation provided by virtual connections, network management, traffic management, control mechanisms for bandwidth on demand, etc. MPLS integrates layer-2 information about network links into layer-3 (IP) within a particular autonomous system in order to simplify and improve IP-packet exchange. MPLS essentially provides connection-oriented labeling in an otherwise connectionless environment, which has resulted in MPLS being considered associated with layer-2.5. With MPLS, different flows can be classified, and different service levels can be associated with the different flow classifications.
Numerous scheduling techniques have been developed to manage the confluence of network traffic flows at a common node, such as a router, for example. Conventional scheduling techniques attempt to manage network traffic using various traffic shaping approaches, such as those employing a “round-robin” scheduling algorithm or “leaky bucket” scheduling algorithm, for example. The ATM protocol, for example, utilizes a small number of queues with fixed Quality of Service (QOS) parameters. These and other known scheduling schemes have various deficiencies when applied in the context of multi-service applications, such as when scheduling multi-service network traffic containing variable length packets across a backplane or network interface.
There is a need in the communications industry for an improved method and apparatus for shaping network traffic. There is a particular need for such a method and apparatus that provides for enhanced scheduling of ingress and egress queues in the context of a multi-service network traffic environment. The present invention fulfills these and other needs, and offers other advantages over prior art scheduling approaches.